home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / ab20 / unarced / graphics / anim / ilbm.h < prev    next >
C/C++ Source or Header  |  1995-03-17  |  3KB  |  121 lines

  1. #ifndef ILBM_H
  2. #define ILBM_H
  3. #ifndef COMPILER_H
  4. #include "compiler.h"
  5. #endif
  6. #ifndef GRAPHICS_GFX_H
  7. #include "graphics/gfx.h"
  8. #endif
  9. #include "iff.h"
  10. #define ID_ANFR MakeID('A','N','F','R')
  11. #define ID_MAHD MakeID('M','A','H','D')
  12. #define ID_MFHD MakeID('M','F','H','D')
  13. #define ID_CM16 MakeID('C','M','1','6')
  14.  
  15. #define ID_ILBM MakeID('I','L','B','M')
  16. #define ID_ANIM MakeID('A','N','I','M')
  17. #define ID_BMHD MakeID('B','M','H','D')
  18. #define ID_ANHD MakeID('A','N','H','D')
  19. #define ID_CMAP MakeID('C','M','A','P')
  20. #define ID_GRAB MakeID('G','R','A','B')
  21. #define ID_DEST MakeID('D','E','S','T')
  22. #define ID_SPRT MakeID('S','P','R','T')
  23. #define ID_CAMG MakeID('C','A','M','G')
  24. #define ID_BODY MakeID('B','O','D','Y')
  25. #define ID_ATXT MakeID('A','T','X','T')
  26. #define ID_PTXT MakeID('P','T','X','T')
  27. #define ID_DLTA MakeID('D','L','T','A')
  28. typedef UBYTE Masking;
  29. #define mskNone 0L
  30. #define mskHasMask 1L
  31. #define mskHasTransparentColor 2L
  32. #define mskLasso 3L
  33. typedef UBYTE Compression;
  34. #define cmpNone 0L
  35. #define cmpByteRun1 1L
  36. #define x320x200Aspect 10L
  37. #define y320x200Aspect 11L
  38. #define x320x400Aspect 20L
  39. #define y320x400Aspect 11L
  40. #define x640x200Aspect 5L
  41. #define y640x200Aspect 11L
  42. #define x640x400Aspect 10L
  43. #define y640x400Aspect 11L
  44. typedef struct {
  45.    ULONG ViewModes;
  46.    } CamgChunk;
  47. typedef struct {
  48. UWORD w, h;
  49. WORD x, y;
  50. UBYTE nPlanes;
  51. Masking masking;
  52. Compression compression;
  53. UBYTE pad1;
  54. UWORD transparentColor;
  55. UBYTE xAspect, yAspect;
  56. WORD pageWidth, pageHeight;
  57. } BitMapHeader;
  58. #define RowBytes(w) (((w) + 15) >> 4 << 1)
  59. typedef struct {
  60. UBYTE red, green, blue;
  61. } ColorRegister;
  62. #define sizeofColorRegister 3
  63. typedef WORD Color4;
  64. #define MaxAmDepth 6
  65. typedef struct {
  66. WORD x, y;
  67. } Point2D;
  68. typedef struct {
  69. UBYTE depth;
  70. UBYTE pad1;
  71. UWORD planePick;
  72. UWORD planeOnOff;
  73. UWORD planeMask;
  74. } DestMerge;
  75. typedef UWORD SpritePrecedence;
  76. typedef struct {
  77. WORD pad1;
  78. WORD rate;
  79. WORD active;
  80. UBYTE low, high;
  81. } CRange;
  82. #define PutCAMG(context, modes) \
  83. PutCk(context, ID_CAMG, (long)sizeof(CamgChunk), (BYTE *)modes)
  84. #define PutBMHD(context, bmHdr) \
  85. PutCk(context, ID_BMHD, (long)sizeof(BitMapHeader), (BYTE *)bmHdr)
  86. #define PutGRAB(context, point2D) \
  87. PutCk(context, ID_GRAB, (long)sizeof(Point2D), (BYTE *)point2D)
  88. #define PutDEST(context, destMerge) \
  89. PutCk(context, ID_DEST, (long)sizeof(DestMerge), (BYTE *)destMerge)
  90. #define PutSPRT(context, spritePrec) \
  91. PutCk(context, ID_SPRT, (long)sizeof(SpritePrecedence), (BYTE *)spritePrec)
  92. #ifdef FDwAT
  93. extern IFFP InitBMHdr(BitMapHeader *, struct BitMap *,
  94. WORD, WORD, WORD, WORD, WORD);
  95. extern IFFP PutCMAP(GroupContext *, WORD *, UBYTE);
  96. extern IFFP PutBODY(
  97. GroupContext *, struct BitMap *, BYTE *, BitMapHeader *, BYTE *, LONG);
  98. #else
  99. extern IFFP InitBMHdr();
  100. extern IFFP PutCMAP();
  101. extern IFFP PutBODY();
  102. #endif FDwAT
  103. #define GetBMHD(context, bmHdr) \
  104. IFFReadBytes(context, (BYTE *)bmHdr, (long)sizeof(BitMapHeader))
  105. #define GetGRAB(context, point2D) \
  106. IFFReadBytes(context, (BYTE *)point2D, (long)sizeof(Point2D))
  107. #define GetDEST(context, destMerge) \
  108. IFFReadBytes(context, (BYTE *)destMerge, (long)sizeof(DestMerge))
  109. #define GetSPRT(context, spritePrec) \
  110. IFFReadBytes(context, (BYTE *)spritePrec, (long)sizeof(SpritePrecedence))
  111. #define MaxSrcPlanes 16+1
  112. #ifdef FDwAT
  113. extern IFFP GetCMAP(GroupContext *, WORD *, UBYTE *);
  114. extern IFFP GetBODY(
  115. GroupContext *, struct BitMap *, BYTE *, BitMapHeader *, BYTE *, LONG);
  116. #else
  117. extern IFFP GetCMAP();
  118. extern IFFP GetBODY();
  119. #endif FDwAT
  120. #endif ILBM_H
  121.